/**
 * 
 * @param {string} url 请求地址
 * @param {string} params 接口参数
 * @param {function} callback 回调函数
 * @param {function} setHeaderFn 请求头
 * @param {string} dataType 后端返回的数据类型
 */
function get(url,params,callback,setHeader={},dataType){
    const xhr=new XMLHttpRequest();
    //实时监控请求状态
    xhr.onreadystatechange=()=>{
        if(xhr.readyState===4){
            if(xhr.status===200){
                let res=xhr.responseText;
                switch(dataType){
                    case 'JSON':
                        res=JSON.parse(res);
                        break;
                    default:
                        break;
                }
                callback(res);
            }
            else{
                alert('error:',xhr.status)
            }
        }
    }

    xhr.open('get',`${url}?${params}`);
    for(let key in setHeader)
    {
        xhr.setRequestHeader(key,setHeader[key]);
    }
    xhr.send()
}





/**
 * 
 * @param {string} url 请求地址
 * @param {string} params 请求参数
 * @param {function} callback 回调函数
 * @param {Object} setHeader 请求头
 * @param {string} dataType 后端返回的数据类型 JSON、XML
 */
function post(url,params,callback,setHeader={},dataType){
    const xhr=new XMLHttpRequest();
    xhr.onreadystatechange=()=>{
        if(xhr.readyState===4){
            if(xhr.status===200){
                let res=xhr.responseText;
                switch(dataType){
                    case 'JSON':
                        res=JSON.parse(res);
                        break;
                    default:
                        break;
                }
                callback(res);
            }
            else{
                alert('error',xhr.status);
            }
        }
    }

    xhr.open('post',url);
    xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
    for(let key in setHeader){
        xhr.setRequestHeader(key,setHeader[key]);
    }

    xhr.send(params);


}